package leetcode;

//给定两个以字符串形式表示的非负整数 num1 和 num2，返回 num1 和 num2 的乘积，它们的乘积也表示为字符串形式。
//示例 1:
//输入: num1 = "2", num2 = "3"
//输出: "6"
//示例 2:
//输入: num1 = "123", num2 = "456"
//输出: "56088"
//说明：
//num1 和 num2 的长度小于110。
//num1 和 num2 只包含数字 0-9。
//num1 和 num2 均不以零开头，除非是数字 0 本身。
//不能使用任何标准库的大数类型（比如 BigInteger）或直接将输入转换为整数来处理。

import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

public class problems_043 {

//    public static void main(String[] arge){
//        new Solution().multiply("498828660196", "840477629533");
//    }
//
//    static class Solution {
//        public String multiply(String num1, String num2) {
//
//        }
//    }


//    static class Solution {
//        public String multiply(String num1, String num2) {
//            List<Long> listRet = new ArrayList<>();
//            for (int i = 0; i < num1.length(); i++) {
//                for (int j = 0; j < num2.length(); j++) {
//                    Long dbl = Integer.parseInt(String.valueOf(num1.charAt(i))) * mathPow(num1.length() - i - 1);
//                    Long db2 = Integer.parseInt(String.valueOf(num2.charAt(j))) * mathPow(num2.length() - j - 1);
//                    System.out.println("i："+dbl+",j：" + db2);
//                    listRet.add(dbl.longValue() * db2.longValue());
//                }
//            }
//            // 结果处理
//            Long ret = 0L;
//            for (int i = 0; i < listRet.size(); i++) {
////                Long num = listRet.get(i);
//                ret = ret + listRet.get(i);
//            }
//            System.out.println(ret);
//            return ret.toString();
//        }
//        public Long mathPow(int n){
//            Long ret = 10L;
//            for (int i = 0; i < n; i++) ret = ret * 10L;
//            return ret;
//        }
//    }
}
